#ifndef _NmmToCtrlBoardMessage__INCLUDED__
#define _NmmToCtrlBoardMessage__INCLUDED__

#include <stdint.h>
#include <vector>

namespace CtrlBoardMsg
{
    const uint8_t BAND9_MASK  = 0x01;
    const uint8_t BAND38_MASK = 0x02;
    const uint8_t BAND39_MASK = 0x04;
    const uint8_t BAND40_MASK = 0x08;
    
    class InitNotification
    {
    public:
        InitNotification();
        uint8_t band_;
        uint8_t duplexMode_;
    };
    
    class TxPower
    {
    public:
        TxPower();
        bool syntaxCheck();
    
        bool isTxPresent_;
        bool isRxPresent_;
    
        uint8_t txPower_;
        uint8_t rxPower_;
    };
    
    class UeRedirect
    {
    public:
        UeRedirect();
        bool syntaxCheck();
    
        bool isEnable_;
        uint8_t ranType_;
        uint8_t band_;
        std::vector<uint16_t> arfcnList_;
    };
}

#endif